package com.game.system.domain.game;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.game.common.annotation.Excel;
import com.game.common.core.domain.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;

/**
 * 游戏日志对象 game_log
 *
 * @author Mr.Liu
 * @date 2025-04-10
 */
@Setter
@Getter
@ToString
@TableName(resultMap = "com.game.system.mapper.GameLogMapper.GameLogResult")
public class GameLog extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 日志id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 账号id
     */
    @Excel(name = "账号id")
    private Long accountId;

    /**
     * 游戏id
     */
    @Excel(name = "游戏id")
    private Long gameId;

    /**
     * 设备id
     */
    @Excel(name = "设备id")
    private String deviceId;

    /**
     * 日志详情
     */
    @Excel(name = "日志详情")
    @TableField(typeHandler = com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class)
    private List<LogDetails> logDetails;

    /**
     * 结果图
     */
    @Excel(name = "结果图")
    @TableField(typeHandler = com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class)
    private List<String> img;

    /**
     * 状态（0执行中，1执行完毕）
     */
    @Excel(name = "状态", readConverterExp = "0=执行中，1执行完毕")
    private String status;

    /**
     * 关联的游戏账号信息
     */
    private GameAccount gameAccount;

    /**
     * 关联的游戏设备信息
     */
    private GameDevice gameDevice;

    /**
     * 关联的游戏信息
     */
    private Game game;
}
